#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE


class QChart;
class QLineSeries;
class QValueAxis;

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
    /**
     * @brief 被加载的图表
     * @note 图表窗口加载图表以显示
     */
    QChart* chart;

    /**
     * @brief 当前要操作的线序
     * @note 图表中有多个线序
     */
    QLineSeries* currentSeries;

    /**
     * @brief 根据当前选择的序列更新界面显示的内容
     */
    void updateWithCurrentSeries(void);

    /**
     * @brief 当前处理的数轴
     * @note 图表要加载轴
     */
    QValueAxis* currentAxis;

    /**
     * @brief 根据当前选择的数轴更新界面相关内容
     */
    void updateWithCurrentAxis(void);


    /**
     * @brief 创建图表
     */
    void createChart();

    /**
     * @brief 准备数据
     */
    void prepareData();

    /**
     * @brief 更新图表
     */
    void updateFromChart();
};
#endif // MAINWINDOW_H
